package com.sp2.dev.apachecommons;

import org.apache.commons.lang.math.NumberUtils;
import org.apache.commons.lang.math.RandomUtils;

import java.math.BigDecimal;
import java.util.Date;

/**
 * Created by IntelliJ IDEA.
 * User: zhimingli
 * Date: 14-2-26
 * Time: 下午2:04
 * org.apache.commons.lang.NumberUtils已经被弃用,
 * 注意要引入org.apache.commons.lang.math.NumberUtils
 */
public class NumberUtilsTest {
    public static void main(String[] args) {
        String str = "12.7";

        // 判断字符串是否为整数
        boolean isIsDigits = NumberUtils.isDigits(str);
        System.out.println(isIsDigits);
        //判断是否为数字
        boolean isNumber = NumberUtils.isNumber(str);
        System.out.println(isNumber);

        //获取参数中最大的值,支持传入数组
        // max构造 包括 int double float
        long longArr[] = new long[]{12, 13, 15, 555};
        long maxLong = NumberUtils.max(longArr);
        System.out.println(maxLong);

        long minLong = NumberUtils.min(longArr);
        System.out.println(minLong);

        // 将字符串转换为int类型,支持float,long,short等数值类型
        NumberUtils.toInt(str);

        //通过字符串创建BigDecimal类型 ,支持int,float,long等数值
        BigDecimal bigDecimal = NumberUtils.createBigDecimal(str);


        /*
         * RandomUtils帮助我们产生随机数,不止是数字类型 ,
         * 连boolean类型都可以通过RandomUtils产生
         */
        boolean ok = RandomUtils.nextBoolean();
        double doubleVal = RandomUtils.nextDouble();
        long longVal = RandomUtils.nextLong();
        // 注意这里传入的参数不是随机种子,而是在0~1000之间产生一位随机数
        int intVal = RandomUtils.nextInt(1000);
        System.out.println("ok=" + ok);
        System.out.println("doubleVale=" + doubleVal);
        System.out.println("longVal=" + longVal);
        System.out.println("intVal=" + intVal);


        Long longTime = 139330988300L;
        Date date = new Date(longTime);
        System.out.println(date);
    }
}
